/*
Rilego - An easy Images 2 E-Book converter.
Copyright (C) 2011  Federico Improta (Kirys)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 */
package it.kirys.rilego.engine.processors;

import it.kirys.rilego.engine.Engine;
import it.kirys.rilego.engine.outputbuilders.IOutputBuilder;
import it.kirys.rilego.engine.loaders.imagesources.IImageSource;
import it.kirys.rilego.engine.processors.imagefilters.FiltersList;
import it.kirys.rilego.engine.processors.transformers.ITransformer;
import it.kirys.rilego.engine.processors.transformers.SimpleTransformer;

/**
 *
 * @author Federico Improta
 */
public class BasicFullProcessorFactory implements IActiveProcessorFactory {

	private ITransformer transformer;
	private FiltersList filters;
	
	@Override
	public IImageProcessor generateProcessor(IImageSource source, IOutputBuilder builder, Engine engine) {
		return new BasicFullProcessor(filters, transformer, builder.getTargetMedia(),builder.getCompressor(), source, engine); //TODO: not yet implemented
	}


	@Override
	public ITransformer getTransformer() {
		return transformer;
	}

	@Override
	public void setTransformer(ITransformer transformer) {
		this.transformer = transformer;
	}

	@Override
	public FiltersList getFilters() {
		return filters;
	}

	@Override
	public void setFilters(FiltersList filters) {
		this.filters = filters;
	}

	public BasicFullProcessorFactory() {
		filters = new FiltersList();
		transformer = new SimpleTransformer();
	}




}
